const innerAudioContext = wx.createInnerAudioContext()

Page({
  data: {
    userInfo: '', //用户信息
    musicUrl: '/pages/images/off.png', //音乐图标路径
    token: null //token令牌
  },

  onLoad(options) {
    //设置内置音乐
    innerAudioContext.src = '/pages/static/SWIN-S - 只因你太美.mp3'
    innerAudioContext.autoplay = false

    //获取存储用户信息,若没有则需要登录
    let user = wx.getStorageSync('user')
    this.setData({
      userInfo: user
    })
  },

  //授权登录
  login() {
    //保存this指针
    let that = this

    let code
    wx.login({
      success: (res) => {
        //获取code
        console.log('code', res.code)
        code = res.code
        //向后端发送code获取token令牌
        wx.request({
          url: 'http://localhost:8080/wx/login?code=' + code,
          method: "GET", //默认
          header: {
            'content-type': 'application/json' // 默认值
          },
          success(res) {
            console.log('token', res.data.data)
            that.setData({
              token: res.data.data
            })
          }
        })
      },
    })

    //获取用户信息
    wx.getUserProfile({
      desc: '请求获取用户信息',
      success: res => {
        let user = res.userInfo
        //缓存用户信息
        wx.setStorageSync('user', user)
        this.setData({
          userInfo: user
        })
        console.log('授权成功', res)
      },
      fail: res => {
        console.log('授权失败', res)
      }
    })

    //缓存获得的token
    wx.setStorageSync('token', this.data.token)
  },

  //退出登录
  loginOut() {
    this.setData({
      userInfo: ''
    })

    //清除用户信息user缓存
    wx.setStorageSync('user', null)
  },

  //跳转到评论界面
  goComment() {
    wx.navigateTo({
      url: '/pages/comment/comment',
    })
  },

  //跳转到订单页面,tabBar中的页面无法使用navigateTo()函数
  goOrder() {
    wx.reLaunch({
      url: '/pages/order/order',
    })
  },

  //点击音乐图标,播放/暂停音乐
  click() {
    //播放/暂停音乐,并修改图标
    if (innerAudioContext.src != null) {
      if (innerAudioContext.paused) {
        innerAudioContext.play()
        this.setData({
          musicUrl: '/pages/images/on.png'
        })
      } else {
        innerAudioContext.stop()
        this.setData({
          musicUrl: '/pages/images/off.png'
        })
      }
    }
  }

})